package com.kystar.muxplayer.protocol.code.set;

import com.kystar.muxplayer.base.TLog;
import com.kystar.muxplayer.model.SourceType;
import com.kystar.muxplayer.protocol.CodeCmd;
import java.io.InvalidObjectException;

public class CS10_SourceInfo extends CodeCmd {
    private int sourceId;
    private int type;

//    1	    输入亮度-RGB	    Val(0~255)	xx
//    2 	输入亮度-RED	    Val(0~255)	xx
//    3	    输入亮度-GREEN	Val(0~255)	xx
//    4	    输入亮度-BLUE	    Val(0~255)	xx
//    5	    输入对比度-RGB	Val(0~255)	xx
//    6	    输入对比度-RED	Val(0~255)	xx
//    7 	输入对比度-GREEN	Val(0~255)	xx
//    8	    输入对比度-BLUE	Val(0~255)	xx
//    9	    EDID配置类型	    Val(0~1)	xx
//    10	EDID自定义-宽度	ValH	    ValL
//    11	EDID自定义-高度	ValH	    ValL
//    12	EDID自定义-帧率	Val(0,1,2)	xx
//    13	智能热备份	    Val(0~7)	xx
//    14	信号有效模式配置类型	Val(0~2)	xx
//    15	信号有效模式自定义-宽度	ValH	ValL
//    16	信号有效模式自定义-高度	ValH	ValL
    private CS10_SourceInfo(int sourceId,int type,int a1,int a2) {
        super(sourceId,type,a1,a2);
        this.sourceId = sourceId;
        this.type = type;
    }

    @Override
    public byte getCode() {
        return 0x10;
    }



    @Override
    public void checkResult() throws InvalidObjectException {
        verify((byte)( sourceId&0xFF),mResult[0],"sourceId");
        verify((byte)( type&0xFF),mResult[1],"type");
        verify(CODE_OK,mResult[2],"ok");
    }

    public static CS10_SourceInfo createBright(int sourceId,int bright) {
        return new CS10_SourceInfo(sourceId,1,bright,CODE_OK);
    }

    public static CS10_SourceInfo createBackUp(int sourceId,SourceType type) {

        return new CS10_SourceInfo(sourceId,13,type.ordinal(),CODE_OK);
    }
}
